package redis

import (
	"fmt"

	"github.com/redis/go-redis/v9"
)

type RedisClient struct {
	Client *redis.Client
}

func NewRedisClient(ip, password string, prot, db int) *RedisClient {
	// 1. 初始化客户端
	rdb := redis.NewClient(&redis.Options{
		Addr:     fmt.Sprintf("%s:%d", ip, prot), // Redis地址
		Password: password,                       // 密码
		DB:       db,                             // 数据库
	})
	return &RedisClient{Client: rdb}
}

//func NewRedisClient(addr, password string, db int) *RedisClient {
//	client := redis.NewClient(&redis.Options{
//		Addr:         addr,            // Redis 服务器地址，如 "localhost:6379"
//		Password:     password,        // 密码，没有则留空 ""
//		DB:           db,              // 数据库索引，默认 0
//		PoolSize:     10,              // 连接池大小
//		MinIdleConns: 5,               // 最小空闲连接数
//		DialTimeout:  5 * time.Second, // 连接超时
//		ReadTimeout:  3 * time.Second, // 读取超时
//		WriteTimeout: 3 * time.Second, // 写入超时
//	})
//
//	return &RedisClient{client: client}
//}
//
//// Ping 测试 Redis 连接
//func (r *RedisClient) Ping(ctx context.Context) error {
//	_, err := r.client.Ping(ctx).Result()
//	return err
//}
